Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.02.2013, 12:26
Новичок на форуме
Отправить личное сообщение для VADIK_Minvody Посмотреть профиль Найти все сообщения от VADIK_Minvody
 
Регистрация: 15.02.2013
Сообщений: 4

Очень нужна помощь! Передача кириллицы в функцию JS
Привет!

Второй день бьюсь и не знаю что делать с кодировкой.

С помощью PHP в HTML-коде в onclick подставляю какую-либо текстовую переменную (содержащую кириллицу), но в JS-функцию приходит Юникод - \u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043E\u 0431\u043E\u0440\u0443\u0434\u043E\u0432\u0430\u04 3D\u0438\u0435 и соответственно, функция не работает.

Подскажите, что можно здесь сделать или на стороне PHP или уже в JS?
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2013, 12:32
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

исходный код покажите
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2013, 12:34
Новичок на форуме
Отправить личное сообщение для VADIK_Minvody Посмотреть профиль Найти все сообщения от VADIK_Minvody
 
Регистрация: 15.02.2013
Сообщений: 4

echo '<li><a href="#" onclick="subsearch(' .$stroka. ');">' .$resultListArr['group']. '</a>

Данные в переменную stroka подгружаются из базы
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2013, 12:34
Новичок на форуме
Отправить личное сообщение для VADIK_Minvody Посмотреть профиль Найти все сообщения от VADIK_Minvody
 
Регистрация: 15.02.2013
Сообщений: 4

Если смотреть исходный код страницы, то данные отображаются корректно, но в JS приходит то, о чём я написал выше
Ответить с цитированием
  #5 (permalink)  
Старый 15.02.2013, 12:53
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

VADIK_Minvody,
Эти данные в подгружаемом файле js ?
Или в коде страницы ?
Ответить с цитированием
  #6 (permalink)  
Старый 15.02.2013, 13:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

var str = '\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043E\u0431\u043E\u0440\u0443\u0434\u043E\u0432\u0430\u043D\u0438\u0435';
alert(str);
Ответить с цитированием
  #7 (permalink)  
Старый 15.02.2013, 13:15
Новичок на форуме
Отправить личное сообщение для VADIK_Minvody Посмотреть профиль Найти все сообщения от VADIK_Minvody
 
Регистрация: 15.02.2013
Сообщений: 4

Эти данные я вижу в Firebug'e. Он пишет ReferenceError и выводит эту кодированную строку.

danik.js, да, так она работая, но когда я пытаюсь вывести полученную (кодированную) строку alert'ом, функция не работает.

Поэтому вопрос: что можно в этом случае сделать? Наверное, проблема в том, что PHP возвращает строку в UTF-8, а Windows отдаёт в JS в Windows-1251 и я хотел бы узнать что мне делать? Сделать ли какое-то преобразование сервером или уже в JS?
Ответить с цитированием
  #8 (permalink)  
Старый 15.02.2013, 13:18
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от VADIK_Minvody
но когда я пытаюсь вывести строку alert'ом, функция не работает...
Сообщение от danik.js
alert(str)
Сё?

Сообщение от VADIK_Minvody
Поэтому вопрос: что можно в этом случае сделать?
Выявить истинную проблему а не придумывать свою собственную и искать ее несуществующее решение.
Ответить с цитированием
  #9 (permalink)  
Старый 02.06.2015, 12:35
Новичок на форуме
Отправить личное сообщение для jeep44 Посмотреть профиль Найти все сообщения от jeep44
 
Регистрация: 27.04.2015
Сообщений: 6

И как же всё-таки передать кириллицу в функцию JavaScript?
У меня вот точно такая же проблема!
<div onclick="select(Прочее);">Прочее</div>
Это самое "Прочее" приходит из базы в виде JSON, JavaScript это отправляет в функцию и туда приходит "\u041F\u0440\u043E\u0447\u0435\u0435", и, соответственно "ReferenceError: \u041F\u0440\u043E\u0447\u0435\u0435 is not defined".

Что-то не нашел решения проблемы нигде!
Ответить с цитированием
  #10 (permalink)  
Старый 03.06.2015, 12:13
Новичок на форуме
Отправить личное сообщение для jeep44 Посмотреть профиль Найти все сообщения от jeep44
 
Регистрация: 27.04.2015
Сообщений: 6

Эх... Надо было просто забрать текст в одинарные кавычки и экранировать, конечно, их!
<div onclick="select('Прочее');">Прочее</div>

Мощно затупил! На сутки!
Жаль только, что на такую элементарную ошибку нигде и никто не указывает!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь в JavaScript михаил Общие вопросы Javascript 26 30.10.2013 12:07
Нужна помощь Кто розбирается в js и кто поможет переделать его или создать заново Starpomlom Javascript под браузер 10 26.12.2011 14:46
Срочно нужна помощь kalko91 Общие вопросы Javascript 7 09.11.2011 23:23
Очень нужна помощь! sdff Общие вопросы Javascript 3 12.10.2009 15:05
Срочно нужна помощь Гость Общие вопросы Javascript 2 02.09.2008 14:13